QT QLineEdit使用详解 | 您所在的位置:网站首页 › qt lineedit设置默认值为USer › QT QLineEdit使用详解 |
本文详细的介绍了QLineEdit控件的各种操作,例如:编辑框的状态、边框、密码框、限制输入类型、对齐方式、验证器的使用、样式表的应用等操作。 QLineEdit允许用户输入和编辑单行纯文本,提供了很多有用的编辑功能,包括:边框、密码框、限制输入类型、对齐方式、验证器的使用、撤消和重做、剪切和粘贴、以及拖放(setDragEnabled())通过改变输入框的echoMode(),同时也可以设置为一个“只写”字段,用于输入密码等。文本的长度可以被限制为maxLength(),可以使用一个validator()或inputMask()来任意限制文本。当在同一个输入框中切换验证器和输入掩码的时候,最好是清除验证器或输入掩码,防止不确定的行为。 本文作者原创,转载请附上文章出处与本文链接。 QT LineEdit控件使用详解目录 1. 编辑状态 2. 隐藏边框 3. 限制字节 4. 密码框 5. 类型限制 6. 对齐方式 7. 添加图标 8. 验证器 9. 样式表 1. 编辑状态 NoFocus设置取消焦点,所以编辑不了。setEnabled禁用启用控件。 ui->lineEdit->setText("不可修改"); ui->lineEdit->setFocusPolicy(Qt::NoFocus); //能否编辑 //ui->lineEdit->setEnabled(false);//true //控件禁用2. 隐藏边框 隐藏边框样式 ui->lineEdit->setStyleSheet("background:transparent;border-width:0;border-style:outset"); //不3. 限制字节 限制可以输入的字节数 ui->lineEdit_2->setPlaceholderText("You can enter up to 6 characters"); ui->lineEdit_2->setMaxLength(6); //最多输入6个字符4. 密码框 一般设置为默认Normal,Password为密码框,NoEcho设置在一些数据库输入密码的时候就是类似这种不可见。 ui->lineEdit_3->setPlaceholderText("密码"); ui->lineEdit_3->setEchoMode(QLineEdit::Password); //密码,一般是用小黑点覆盖你所输入的字符 //ui->lineEdit_3->setEchoMode(QLineEdit::Normal); //默认,输入什么即显示什么 //ui->lineEdit_3->setEchoMode(QLineEdit::NoEcho); //任何输入都看不见(只是看不见,不是不能输入) 5. 类型限制 类型限制,可以限制数字、英文范围,还可以限制输入类型。 ui->lineEdit_4->setPlaceholderText("DoubleSize"); // 整形 范围:[1, 99] QIntValidator *pIntValidator = new QIntValidator(this); pIntValidator->setRange(1, 99); // 字符和数字 QRegExp reg("[a-zA-Z0-9]+$"); QRegExpValidator *pValidator = new QRegExpValidator(this); pValidator->setRegExp(reg); // 浮点型 范围:[-360, 360] 精度:小数点后2位 QDoubleValidator *pDoubleValidator = new QDoubleValidator(this); pDoubleValidator->setRange(-360, 360); pDoubleValidator->setNotation(QDoubleValidator::StandardNotation); pDoubleValidator->setDecimals(2); //设置条件 ui->lineEdit_4->setValidator(pDoubleValidator);6. 对齐方式 输入对齐方式。 ui->lineEdit_5->setPlaceholderText("对齐方式"); ui->lineEdit_5->setAlignment(Qt::AlignCenter); //居中对齐 //ui->lineEdit_5->setAlignment(Qt::AlignRight); //右对齐 //ui->lineEdit_5->setAlignment(Qt::AlignLeft); //左对齐7. 添加图标 实际中图标在左边的位置挺多的,但是图标在右边的时候也会有遇到,例如手机号验证右边会放个ico。 // 添加action ui->lineEdit_6->setPlaceholderText("添加ico"); QAction *pLeadingAction = new QAction(this); pLeadingAction->setIcon(QIcon("D:/ico.ico")); ui->lineEdit_6->addAction(pLeadingAction, QLineEdit::LeadingPosition);//QLineEdit::TrailingPosition 8. 验证器 验证器可以实现很多功能,我的另一篇博客有专门介绍验证器:https://blog.csdn.net/qq_37529913/article/details/109440819 大家也可以按着示例来研究 //手机号 QRegExp rC("^1([358][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$"); //邮箱 QRegExp rE("^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$"); QRegExp rx( "(-|\\+)?[0-8]\\d:[0-5]\\d:[0-5]\\d" ); //ui->lineEdit_7->setPlaceholderText("时间格式"); //ui->lineEdit_7->setInputMask("0000-00-00 00:00"); ui->lineEdit_7->setValidator(pDoubleValidator ); ui->lineEdit_7->setValidator( new QRegExpValidator(rC, ui->lineEdit_7)); //验证器 IP、MAC地址、日期、License号 ui->lineEdit_8->setInputMask("000.000.000.000;_"); //ui->lineEdit_8->setInputMask("HH:HH:HH:HH:HH:HH;_"); //ui->lineEdit_8->setInputMask("0000-00-00"); //ui->lineEdit_8->setInputMask(">AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;#"); QString str =ui->lineEdit_9->text(); int i =ui->lineEdit_9->text().toInt(); double dou =ui->lineEdit_9->text().toDouble();9. 样式表 参考作者样式文章:QT样式表 https://blog.csdn.net/qq_37529913/article/details/108735409 参考作者样式文章:QSS样式表 https://blog.csdn.net/qq_37529913/article/details/109288422 参考作者样式文章:https://blog.csdn.net/qq_37529913/article/details/115409726 |
CopyRight 2018-2019 实验室设备网 版权所有 |